//引入axios
import axios from 'axios'
//引入路由文件
import router from '../../router'

//重新创建一个

let http = axios.create({
    baseURL:'/api' //后端服务器地址
})

//axios的拦截器
//请求拦截
http.interceptors.request.use((req)=>{
    let token = sessionStorage.getItem('userInfo') ? JSON.parse(sessionStorage.getItem('userInfo')).token :''
    console.log(req,'请求');
    //一般在请求拦截器中我们会操作请求头，比如添加token
    //设置token请求头
    req.headers.authorization =token
    return req
})


//响应拦截
http.interceptors.response.use(res=>{
    //一般会全局拦截错误，或者针对于返回值进行封装
    console.log(res,'响应');
    // 针对于返回值进行封装改变 return res.data
    //针对于token过期或者失效 ，进行全局拦截
    if(res.data.code==403){
        //全局拦截错误 重新登录
         router.push('/login')
    }
    return res
})


//导出封装好的http
export default http


/* 
token 指的是令牌，这个概念来源于后端
*/